package com.ruiben.mall;

import com.ruiben.mall.pojo.*;
import com.ruiben.mall.utils.PagedResult;

import java.util.List;

public interface IProductService {

    /**
     * 获取所有商品分类
     */
    List<ProductCategory> getProductCategory();



    PagedResult getProductList(int page, int pageSize);

    /**
     * 根据id获取单个商品
     */
    public ShopProduct getProductById(String id);

    /**
     * 根据商品id获取所有图片信息
     */
    public List<ProductPhoto> getProductImagesByProductId(String productId);

    /**
     * 获取商品所有类型
     * @return
     */
    List<ProductType> getProductTypeList();



    /**
     * 根据商品id获取该商品属性列表
     */
    List<ProductAttr> getProductAttrList(String productId);


    /**
     * 获取推荐商品
     * @return
     */
    List<ShopProduct> getRecommendList();


    /**
     * 获取热销产品
     * @return
     */
    List<ShopProduct> getHotList();

    ProductCategory getProductCategoryById(String id);


    List<ProductCategory> getParentProductCategory();

    List<ProductCategory> getChildProductCategory(String parentId);


    //获取某一级分类下的所有商品
    List<ShopProduct> getProductListByAllCateId(List<String> ids);


    List<ProductAttr> getSpecList(String productId);


    List<ShopProduct> getProductListByCate(String cateId,int sort);


    List<ShopProduct> getNewsGoods();

    List<ShopProduct> getProductListByPriceSort(String cateId,int sort);

    List<ShopProduct> getProductListBySolesSort(String cateId,int sort);

    List<ShopProduct> getProductListByNewSort(String cateId,int sort);

}
